import { Component, Input, OnInit } from '@angular/core';
import { Destiny, StoryEntity } from 'src/classes/entities';
import { DataService } from 'src/services/data.service';
import { UiService } from 'src/services/ui.service';

@Component({
  selector: 'app-entity-destiny-view',
  templateUrl: './entity-destiny-view.component.html',
  styleUrls: ['./entity-destiny-view.component.scss']
})
export class EntityDestinyViewComponent implements OnInit {

  constructor(private dataService: DataService, public ui: UiService) { }

  ngOnInit(): void {
  }
  @Input()
  public get target(): StoryEntity {
    return this.internalTarget;
  }

  public set target(v: StoryEntity) {
    this.internalTarget = v;
    console.log(v);
    //this.initDestiny()
  }

  private internalTarget: StoryEntity;

  desnity: Destiny
  getDiagramWidth() {
    let e = document.getElementById('destinydiagram')
    return e.clientWidth
  }
  getDiagramHeight() {
    let e = document.getElementById('destinydiagram')
    return e.clientHeight
  }
  getX(t: Date) {
    let tl = this.desnity.End.getTime() - this.desnity.Start.getTime()
    let w = this.getDiagramWidth()

    return tl / w * t.getTime()
  }
  getWidth(item) {
    return this.getX(item.end) - this.getX(item.start)
  }
  getY(index, isSource) {

  }
  // data = {
  //   direction: 'horizontal',
  //   model: '',
  //   list: []
  // }
  // dataHorizontal = {
  //   direction: 'horizontal',
  //   model: '',
  //   list: [
  //     {
  //       text: 'Download',
  //       time: '2021-07-28'
  //     },
  //     {
  //       text: 'Check',
  //       time: '2021-07-29',
  //       dotColor: 'var(--devui-success)'
  //     },
  //     {
  //       text: 'Build',
  //       time: '2021-07-30',
  //       dotColor: 'var(--devui-danger)'
  //     },
  //     {
  //       text: 'Depoy',
  //       time: '2021-07-31',
  //       dotColor: 'var(--devui-warning)'
  //     },
  //     {
  //       text: 'End',
  //       time: '2021-08-01',
  //       dotColor: 'var(--devui-waiting)'
  //     }
  //   ]
  // };
  // initDestiny() {
  //   let d = this.dataService.getDestiny(this.target)
  //   this.data.list = []
  //   d.SourceDestinyInfos.forEach(v => {
  //     this.data.list.push({
  //       time: v.Start,
  //       text: v.EntityInfo
  //     })
  //   })
  //   d.TargetDestinyInfos.forEach(v => {
  //     this.data.list.push({
  //       time: v.Start,
  //       text: v.EntityInfo
  //     })
  //   })
  // }
}
